Größte Dateien auflisten
Dieses Python-Skript wurde entwickelt, um die größten Dateien (nach Dateigröße auf dem Laufwerk) auf einem Dateilaufwerk (unter Windows-OS) aufzulisten, wie vom Benutzer bestimmt.
Anforderungen
Um dieses Skript verwenden zu können, muss Python 3 auf Ihrem System installiert sein. Sie müssen auch die Module os und sys installiert haben.
import os | |
# ask user for device id and number of files to list | |
while True: | |
device_id = input("Enter the device id (e.g. C:): ") | |
if os.path.isdir(device_id): | |
break | |
print("Invalid device id. Please enter a valid device id.") | |
while True: | |
num_files_str = input("Enter the number of files to list: ") | |
if not num_files_str.isdigit(): | |
print("Invalid input. Please enter a positive integer.") | |
continue | |
num_files = int(num_files_str) | |
if num_files > 0: | |
break | |
print("Invalid input. Please enter a positive integer.") | |
# get list of files on device and sort by size | |
file_list = [] | |
for root, dirs, files in os.walk(device_id): | |
for name in files: | |
try: | |
file_size = os.path.getsize(os.path.join(root, name)) | |
file_list.append((os.path.join(root, name), file_size)) | |
except: | |
# ignore file if it cannot be accessed | |
pass | |
file_list.sort(key=lambda x: x[1], reverse=True) | |
# print top n files and ask user to select a file to open | |
while True: | |
print("\nSelect a file to open:") | |
for i in range(num_files): | |
if i >= len(file_list): | |
break | |
file_path = file_list[i][0] | |
file_size = file_list[i][1] | |
print(f"{i+1}. {file_path} ({file_size} bytes)") | |
print("0. Exit") | |
# ask user to enter the index of the file to open | |
while True: | |
file_index_str = input("Enter the index of the file to open: ") | |
if not file_index_str.isdigit(): | |
print("Invalid input. Please enter a positive integer.") | |
continue | |
file_index = int(file_index_str) | |
if 0 <= file_index <= num_files: | |
break | |
print(f"Invalid input. Please enter a number between 0 and {num_files}.") | |
# exit if user enters 0 | |
if file_index == 0: | |
break | |
# open explorer window for the selected file | |
file_path = file_list[file_index-1][0] | |
os.startfile(os.path.dirname(file_path)) |
Anwendung
-
- Führen Sie das Skript von der Befehlszeile aus mit python listTopFilesizedFiles.py.
- Geben Sie den Pfad des Laufwerks ein, das Sie durchsuchen möchten, wenn Sie dazu aufgefordert werden.
- Geben Sie die Anzahl der Dateien ein, die Sie aufgelistet haben möchten, wenn Sie dazu aufgefordert werden.
- Wählen Sie eine Aktion aus dem angezeigten Menü:
- Geben Sie eine Dateinummer ein, um den Speicherort dieser Datei im Windows Explorer zu öffnen.
- Geben Sie 0 ein, um das Programm zu beenden
- Geben Sie r ein, um das Skript erneut von Anfang an zu starten.
- Wenn Sie sich für das Öffnen einer Datei entscheiden, wird ein Windows Explorer-Fenster mit dem Verzeichnis geöffnet, das die ausgewählte Datei enthält.
- Wenn Sie das Programm verlassen, wird das Skript beendet.
- Wenn Sie das Skript erneut ausführen möchten, werden Sie aufgefordert, einen neuen Laufwerkspfad und die Anzahl der aufzulistenden Dateien einzugeben.
Beispiel
python listTopFilesizedFiles.py
Enter the path of the drive you want to search:
C:\Users
Enter the number of files to list: 10
Top 10 biggest files in C:\Users:
1. File1.txt - 500 MB
2. File2.exe - 300 MB
3. File3.pdf - 200 MB
4. File4.mp4 - 150 MB
5. File5.ppt - 100 MB
6. File6.xlsx - 90 MB
7. File7.docx - 80 MB
8. File8.iso - 70 MB
9. File9.dll - 60 MB
10. File10.zip - 50 MB
What would you like to do?
Enter a file number to open its location,
enter 0 to exit, or enter r to start over: 2
Opening File2.exe location in Windows Explorer...
Lizenz
Dieses Skript ist unter der MIT-Lizenz veröffentlicht. Sie können es verwenden, wie Sie wollen.
Download
Sie können den Quellcode des Skripts von meinem github-repository herunterladen:
https://github.com/smartDevel/list_Top_Size_Files
Kommentare